home *** CD-ROM | disk | FTP | other *** search
/ Amiga Magazin: Amiga-CD 1997 January & February / Amiga-CD 1997 #1-2.iso / patches / sasc_6.56-patch / read.me < prev    next >
Text File  |  1995-10-12  |  8KB  |  219 lines

  1. This archive contains a number of fixes for the 6.55 version 
  2. of the SAS/C Development System. You MUST have 6.55 installed 
  3. to use this patch. This patch does not use the original 6.50 
  4. production disks, but rather just patches the 6.55 images in 
  5. place in the SC: directory.
  6.  
  7. This patch is mainly to clean up a few problems that were
  8. introduced in version 6.55, but it also contains several fixes 
  9. to older bugs. See below for a list of fixes.
  10.  
  11. To install this patch, type
  12.  
  13.    execute install
  14.  
  15.  
  16.  
  17. Fixed Bugs in SAS/C 6.56.
  18.  
  19.    Description                               Modules      Comment
  20.  
  21. 1) PROGDIR and Cli_CommandName not set       cpr,cprk     New in 6.55. Fixed.
  22.    up properly in CPR.
  23.  
  24. 2) Build Project and Save All Files          se           New in 6.55. Fixed.
  25.    missing in SE.
  26.  
  27. 3) Inheritance of Virtual functions          sccxx        New in 6.55. Fixed.
  28.    gives compiler error.
  29.    
  30. 4) Peephole bug in opt4, opt20 (LEA          scpeep       Old bug. Fixed.
  31.    elimination).
  32.  
  33. 5) Tail recursion bug if doubles are         sc2          Old bug. Fixed.
  34.    used.
  35.  
  36. 6) Cast to __asm, __regargs, etc doesn't     sc1          New in 6.55. Fixed.
  37.    if original pointer is not a function
  38.    pointer.
  39.  
  40. 7) Equr doesn't work if size is not          asm          New in 6.55. Fixed.
  41.    specified on instruction.
  42.  
  43. 8) Dense switch with > 4096 cases may        sc2          Old bug. Fixed.
  44.    generate bad code or CXERR. 
  45.  
  46. 9) Passing structures by value to a          sc2          Old bug. Fixed.
  47.    function pointer may result in a 
  48.    bad flush to the stack.
  49.  
  50. 10) Conflict between enum and formals in     sc1          Old bug. Fixed.
  51.     prototype when makeing a GST caused a
  52.     CXERR.
  53.   
  54. 11) Asm files with ABS symbols can't be      asm          ABS symbols were not 
  55.     put in link libraries.                                supported prior to 6.55. 
  56.                                                           Fixed.
  57.  
  58. 12) Wrong reloc type was used for some       sc2          Old bug. Fixed.
  59.     const chip references causes linker
  60.     warnings that should have been
  61.     suppressed.
  62.  
  63. 13) Fill values used in builtin memset()     sc2          New in 6.55. Fixed
  64.     was uninitialized if non-constant and
  65.     destination was aligned.
  66.  
  67. 14) Covutil.c was not patched in 6.55 patch. covutil.c    Patch added.
  68.  
  69. 15) SLINK was not changed to use the proper  slink        New in 6.55. Fixed.
  70.     coverage AUTOINITIALER.
  71.  
  72. 16) Debug side file is not closed if         sc1,sc       Old bug. Fixed.
  73.     noobjname is specified, and multiple
  74.     files are compiled in single command.
  75.  
  76. 17) UNDO in SE sometimes replaced the line   se           Old bug. Fixed.
  77.     in the wrong place.
  78.  
  79. 18) Function pointers to varargs functions   sc1          Old bug. Fixed.
  80.     were not forced to stdargs if the 
  81.     __regargs keyword is used. C++ relies 
  82.     on this.
  83.  
  84. 19) Copying a one line block to the same     se           Old bug. Fixed.
  85.     caused SE to lose track of the original
  86.     block.
  87.  
  88. 20) The compiler generated tst.b n(pc) in    sc2          Old bug. Fixed.
  89.     68000 mode for  if (*"abc"). 
  90.  
  91. 21) SE's config screen won't open in WB 1.3  sekeymap     New in 6.55. Fixed.
  92.     beacuse of autoinit for Gadtools. The
  93.     only part that shouldn't work in 1.3 is
  94.     the Colorized C prefs.
  95.  
  96. 22) Improve __asm function pointer calls to  sc2          Old problem. Situation
  97.     reduce possibility of "out of regs"                   improved.
  98.     CXERR.
  99.  
  100. 23) Compiler didn't write complete debug     scdebug      Old bug. Fixed.
  101.     information if a GST was used.
  102.  
  103. 24) SE didn't update cursor position if      se           New in 6.55. Fixed.
  104.     in OVERWRITE, NO COLUMN DISPLAY and
  105.     COLORIZE C mode.
  106.  
  107. 25) Builtin memcpy() and memset() will       sc2          New in 6.55. Fixed.
  108.     copy one byte to many if the length
  109.     is constant and >32k, and the destination
  110.     is non-aligned.
  111.  
  112. 26) Asm doesn't generate a reloc for a       asm          Old bug. Fixed.
  113.     BRA to a symbol in a previous section
  114.     in the same file.
  115.  
  116. 27) Compiler could still abort if too many   sc1          Old bug. Fixed.
  117.     errors were found in PPONLY mode.
  118.  
  119. 28) The SEARCH command caused enforcer hits  cpr,cprx     Old bug. Fixed.
  120.     if no previous search string was 
  121.     specified.
  122.     
  123. 29) The ENV +n command didn't work.          cpr, cprx    Old bug. Fixed.
  124.  
  125. 30) This format string caused enforcer       All libs.    Old bug. Fixed.
  126.     in scanf routines: "%*[x]"
  127.  
  128. 31) tagcall was limited to 200 parameters.   sc2          Increases limit to
  129.                                                           32k parms.
  130.                                                           
  131. 32) CPR would crash if a caught task was     cpr, cprk    Old bug. Fixed.
  132.     was allowed to exit before being detached.
  133.     
  134. 33) SC could generate code that would test   sc2          Old bug. Fixed.
  135.     the wrong condition code for complex
  136.     IF statements if the COVERAGE option was 
  137.     used.
  138.  
  139. 34) CXX was not outputing enough #line       sccxx        Old bug. Fixed.
  140.     statements in some cases, causing the
  141.     debug information to be inaccurate.
  142.  
  143. 35) Fixed problem with debug info preventing sc2          Old bug. Fixed.
  144.     env -1 from working with parm=reg, __asm
  145.     or C++ files.
  146.     
  147. 36) fdopen() would fail if no other level 2  Non Math     Old bug. Fixed.
  148.     file handles have been used.             libs.
  149.  
  150. 37) ASM was not generating line number debug ASM          Old bug. Fixed. 
  151.     info for non-instructions (ie DC.L)
  152.    
  153. 38) ASM did not handle labels on XREF/XDEF   ASM          Old bug. Fixed.
  154.     lines
  155.  
  156. 39) ASM will now default a forward ref to    ASM          This behavior of this
  157.     a symbol for the mode  'foo(pc,d0)' to                has been different in
  158.     a byte if generating code for 68000.                  just about every release.
  159.                                                           Hopefully, it consistant
  160.                                                           now.
  161.  
  162. 40) Increased the MAX line length from 256   SE
  163.     bytes to 2K.
  164.  
  165. 41) Block prints now go to PRT:, not PRT:RAW SE           Old bug. Fixed.
  166.  
  167. 42) CPR will now call Exit() on the quit     CPR, CPRK    Symptom first seen in
  168.     command if exit() is not available.                   6.55. A side effect of
  169.     This insures that the command line                    of using CreateNewProc
  170.     buffer is flushed properly.                           I beleive. Fixed.
  171.  
  172. 43) The STDIO autoinitializer allocated a    Libs         Old bug that caused no
  173.     length that was 1 byte to small.                      visable problem, because
  174.                                                           them memory was immediatly
  175.                                                           free'd. Fixed.
  176.  
  177. 44) Fixed problem with BF instructions.      Asm          New in 6.55. Fixed.
  178.  
  179. 45) The peephole optimizer would wrongly     scpeep       Partially fixed in 6.55.
  180.     use an autoincrement mode in BF                       Fully fixed in 6.56.
  181.     instructions.
  182.  
  183. 46) Compiler would reference global data     sc2          Old bug. Fixed.
  184.     relative to A4 in rare situations after
  185.     A4 was loaded for a #pragma call.
  186.  
  187.  
  188. Below is a list of bugs in the source examples and extras that we ship.
  189. A patch has not been included, but you can make the fix to the
  190. source from the information below.
  191.  
  192. 1) In MEMLIB, sc:extras/memlib/mwgetenv.c line 11 should be:
  193.  
  194.    mem = MWStrDup(var, file, line);
  195.   
  196.    instead of    
  197.    
  198.    mem = MWStrDup(name, file, line);
  199.  
  200.  
  201. 2) In the example device, sc:examples/example_device/serial.c line 117-118
  202.    should be:
  203.    
  204.    msg.msg.mn_Length = sizeof(struct START_MSG);
  205.    
  206.    instead of:
  207.    
  208.    msg.msg.mn_Length = sizeof(struct START_MSG) - 
  209.                        sizeof (struct Message);
  210.  
  211. 3) In sc:source/_iob.c, line 87 should be:
  212.  
  213.    window = malloc(len+1);
  214.  
  215.    instead of:
  216.  
  217.    window = malloc(len);
  218.  
  219.